package dbhelper

import (
	"log"
	"time"

	// "go.mongodb.org/mongo-driver/mongo"
	// "go.mongodb.org/mongo-driver/mongo/options"
	// "go.mongodb.org/mongo-driver/mongo/readpref"
	"gopkg.in/mgo.v2"
)

var MongoSession *mgo.Session
var MongoDB *mgo.Database

// var MongoDB *mongo.Database

// func InitMongo(uri, name string, timeout time.Duration) *mongo.Database {
// 	// 设置连接超时时间
// 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
// 	defer cancel()
// 	// 通过传进来的uri连接相关的配置
// 	o := options.Client().ApplyURI(uri)
// 	// 发起链接
// 	client, err := mongo.Connect(ctx, o)
// 	if err != nil {
// 		log.Fatal(err)
// 		return nil
// 	}
// 	// 判断服务是不是可用
// 	if err = client.Ping(context.Background(), readpref.Primary()); err != nil {
// 		log.Fatal(err)
// 		return nil
// 	}
// 	// 返回 client
// 	return client.Database(name)
// }

func InitMongo(url, name string, timeout time.Duration) *mgo.Database {
	session, err := mgo.Dial(url)
	if err != nil {
		log.Fatal(err)
		return nil
	}
	session.SetMode(mgo.Monotonic, true)
	database := session.DB(name)
	return database
}
